package tests;

import junit.framework.TestCase;
import koenigreich.Einwohner;

public class EinwohnerTest extends TestCase {

	protected Einwohner einwohner;

	protected void setUp() {
		einwohner = new Einwohner();
	}

	public void testSteuerE1() {												// Test ob negative Einkommen verboten sind
		try {
			einwohner.setEinkommen(-1);
			fail("fehlende Exception");								// fail: laesst den Test fehlschlagen
		} catch (IllegalArgumentException e) {									// richtige Exceptione aufgetreten
			assertEquals("Einkommen darf nicht negativ sein", e.getMessage());	// mit der richtigen Meldung
		} catch (Exception e) {
			fail("Nicht erwartete Exception aufgetreten");						// falls andere Exceptions geworfen werden sollten
		}
	}

	public void testSteuerE2() {					// Test ob die Mindeststeuer sichergestellt ist
		einwohner.setEinkommen(0);
		assertEquals(1,einwohner.steuer());
	}

	public void testSteuerE3() {					// Test mit einem beliebigen Wert
		einwohner.setEinkommen(20);
		assertEquals(2,einwohner.steuer());
	}

	public void testSteuerE4() {					// Test ob abgerundet wird
		einwohner.setEinkommen(25);
		assertEquals(2,einwohner.steuer());
	}
}